/****************************************************************************
 *
 *   Copyright (c) 2020 Estimation and Control Library (ECL). All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name ECL nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include <geo_lookup/geo_mag_declination.h>


TEST(GeoLookupTest, declination) {
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.18394, 0.40062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.39111, 0.39369 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.42217, 0.38791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.32574, 0.38308 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.1441, 0.37903 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.91628, 0.37564 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.67931, 0.37279 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.46616, 0.37039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.30082, 0.36836 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.19189, 0.36662 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.12706, 0.36513 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.07028, 0.36387 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96249, 0.36285 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72587, 0.36213 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.27082, 0.36179 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.50503, 0.36196 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.34356, 0.36276 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.71907, 0.36437 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.59131, 0.36693 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.95527, 0.37057 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.84718, 0.37536 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.34747, 0.38137 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.57874, 0.38859 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.69665, 0.39701 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.87306, 0.40663 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.72644, 0.41745 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -3.96574, 0.42948 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.75656, 0.44267 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.06808, 0.45687 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.92714, 0.47176 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.41081, 0.4868 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.63493, 0.50121 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.7418, 0.51401 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.88828, 0.52408 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.23239, 0.53033 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.91504, 0.53194 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -21.03678, 0.52852 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.63603, 0.52031 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.67905, 0.50813 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.06836, 0.49324 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.66671, 0.47706 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.32625, 0.46094 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -40.91169, 0.44598 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.31204, 0.43295 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.44186, 0.42233 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.23642, 0.41433 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.64513, 0.40903 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.62554, 0.40643 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.13854, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.14391, 0.40935 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.59508, 0.41501 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.43247, 0.42372 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.57588, 0.43577 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.91835, 0.45151 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.32584, 0.47119 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.64956, 0.49464 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.75937, 0.52086 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.60463, 0.5475 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.29388, 0.57075 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.15214, 0.58619 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.69196, 0.59063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.47812, 0.58372 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.03553, 0.56788 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.59142, 0.54675 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.11264, 0.52367 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.63892, 0.50094 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.26586, 0.47988 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.10655, 0.4611 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.27332, 0.44474 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 28.87152, 0.43073 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 29.99836, 0.41888 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.74267, 0.40893 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.18394, 0.40062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.27213, 0.37407 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.58395, 0.3702 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.72912, 0.36697 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.74725, 0.36428 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.67096, 0.36206 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.53085, 0.36024 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.35944, 0.35878 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.1914, 0.35765 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.05914, 0.35683 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 25.98543, 0.35629 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.97576, 0.35603 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.01239, 0.35603 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05098, 0.3563 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.01999, 0.35686 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.82348, 0.35777 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.34828, 0.3591 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.47595, 0.36101 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.09864, 0.36367 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.13615, 0.36728 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.55171, 0.37201 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.36488, 0.37796 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.65961, 0.3852 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.58464, 0.39367 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.34172, 0.40335 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.84017, 0.41421 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.74076, 0.42631 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.18425, 0.43979 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.06393, 0.45478 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.34983, 0.47134 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.08007, 0.48935 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.34209, 0.50845 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.25249, 0.52796 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.94433, 0.5468 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.56583, 0.56342 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.28484, 0.57594 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.2839, 0.58244 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.73263, 0.58152 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.74086, 0.57283 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.31748, 0.55727 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.36285, 0.53674 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.70068, 0.51368 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.12947, 0.49043 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.46574, 0.46886 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.56465, 0.45017 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.32023, 0.43497 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.65521, 0.42343 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.50973, 0.41545 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.83308, 0.41084 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.57887, 0.40931 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.70168, 0.41062 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.15333, 0.41453 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.87868, 0.42083 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.81381, 0.42925 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.89311, 0.43937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -41.07199, 0.45045 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.36608, 0.46132 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.89292, 0.47045 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.88621, 0.47635 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.65676, 0.47816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.51191, 0.47591 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.68315, 0.47038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.30264, 0.46259 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.57514, 0.45346 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 7.93784, 0.44368 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.78931, 0.43371 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.13842, 0.4239 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 17.99681, 0.4145 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.38015, 0.4057 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.31036, 0.39765 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.81837, 0.39044 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 24.94594, 0.38412 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.74479, 0.37868 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.27213, 0.37407 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.47925, 0.35462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.82562, 0.3526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.02495, 0.35097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.11065, 0.34966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.10506, 0.34862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.0261, 0.34784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.89487, 0.3473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.73927, 0.347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.5916, 0.34697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.48196, 0.34721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43027, 0.34776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43898, 0.34862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.48626, 0.3498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.51946, 0.35131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.45049, 0.35316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.15712, 0.3554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.49396, 0.35816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.31346, 0.3616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.49223, 0.36597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.95721, 0.37146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.70746, 0.37819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.82907, 0.38618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.49839, 0.39532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.03381, 0.40549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.48094, 0.41666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.57419, 0.42894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.11252, 0.44261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -14.99123, 0.45798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.20262, 0.47533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.81296, 0.49476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.92683, 0.51622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.65293, 0.53939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -21.08709, 0.56351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.3224, 0.58711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.48187, 0.60782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.74869, 0.62251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.35768, 0.62806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.52919, 0.6226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.37536, 0.60631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.84443, 0.5815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.74353, 0.55179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -33.81666, 0.52094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -36.82159, 0.49196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.56895, 0.46678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -41.92442, 0.44627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.79339, 0.43055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.10517, 0.41934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.80369, 0.41212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.84409, 0.4083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.19171, 0.40729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.82008, 0.4085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.70843, 0.41131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.84449, 0.41507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.24101, 0.41899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.9678, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.18339, 0.42371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.13455, 0.42302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.10312, 0.4201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.32296, 0.41553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.92125, 0.41011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.91725, 0.40453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.73447, 0.39918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.09265, 0.39413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.19588, 0.38932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.05397, 0.38466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.65544, 0.38009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 14.97922, 0.37562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.00319, 0.37129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.7099, 0.36719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.0923, 0.3634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.15972, 0.36002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 21.94067, 0.35709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.47925, 0.35462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.4332, 0.33989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.7724, 0.33901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 19.98774, 0.3384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.11121, 0.33801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.15754, 0.3378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.1317, 0.33775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.04008, 0.33785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.89797, 0.33814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.73013, 0.33864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56607, 0.33939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.4336, 0.34044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.35206, 0.34181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.32355, 0.34353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.32068, 0.34559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.27299, 0.34798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.05979, 0.35072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.51778, 0.35391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.46609, 0.35774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.74262, 0.36244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.24162, 0.36823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.94543, 0.37521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.946, 0.38333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.44966, 0.39239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.24565, 0.40221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.80508, 0.41274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -11.92852, 0.42421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.41099, 0.437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.16919, 0.45156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.23113, 0.46824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.69796, 0.48727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.6923, 0.50877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.3106, 0.53276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.59991, 0.55901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.57456, 0.58663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.27172, 0.61354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.82115, 0.6362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.4795, 0.65012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.57745, 0.65138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.38291, 0.63855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -24.96937, 0.61336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.1895, 0.58005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.76, 0.54365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.37718, 0.50853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.7893, 0.47754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.81305, 0.45204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.32016, 0.43223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.22088, 0.41767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.45534, 0.40757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -38.9916, 0.40107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.82414, 0.39728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.96816, 0.39537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.45173, 0.39459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.31581, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.63244, 0.3935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.53629, 0.39186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.24123, 0.38889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -14.00936, 0.38461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.0743, 0.37951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.56635, 0.37427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.48909, 0.36947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.75392, 0.3654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.75807, 0.3621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14184, 0.35938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.44196, 0.35702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.65552, 0.35481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.75176, 0.35265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.69125, 0.3505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.43544, 0.34835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 15.94936, 0.34627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.20559, 0.34431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.1927, 0.34256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 18.92315, 0.34107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.4332, 0.33989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 16.94234, 0.32859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.24544, 0.32842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.44648, 0.32848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.5809, 0.3287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.6602, 0.32907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.6791, 0.32956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.62957, 0.33015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.512, 0.33088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.33892, 0.33178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.133, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.92329, 0.33423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.74049, 0.33587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.60748, 0.33782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.52181, 0.34007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.43325, 0.3426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.22765, 0.34542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.73086, 0.34864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.73762, 0.35243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 13.05757, 0.35705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.56357, 0.36268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.23187, 0.36938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 3.16802, 0.37701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.39049, 0.3853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.10775, 0.39404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.6202, 0.40326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.62072, 0.41326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -17.91973, 0.42453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.46311, 0.43757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.31028, 0.45268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.5859, 0.47 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.41928, 0.4896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.88957, 0.51156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.99972, 0.53591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.69706, 0.56228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.94044, 0.58936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.79191, 0.61422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.48589, 0.63244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.41157, 0.63934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.97746, 0.63209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.42729, 0.61115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.74034, 0.58005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.67554, 0.54386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -25.89563, 0.50744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.07517, 0.47437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -29.95119, 0.44653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.33148, 0.42444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.08854, 0.40772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.15434, 0.39553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.51601, 0.38688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.20607, 0.38083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.28374, 0.37652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.81439, 0.37325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.86411, 0.37043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.52141, 0.36753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.93351, 0.36414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.31887, 0.3601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.92409, 0.35555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.93983, 0.35093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.43269, 0.34671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33753, 0.34325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.493, 0.34063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.21667, 0.33876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.943, 0.33741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.70906, 0.33634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.49166, 0.33538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.23915, 0.33442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.89854, 0.33342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.42465, 0.33241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.77662, 0.3314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.9167, 0.33045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.81927, 0.32963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.48424, 0.329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 16.94234, 0.32859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.90511, 0.32002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.15098, 0.3203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.31156, 0.32077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.4298, 0.32141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.51867, 0.32218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.56694, 0.32305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.55499, 0.32402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.46907, 0.3251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30802, 0.32629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.08427, 0.32763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.82343, 0.32917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.56224, 0.33092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.33882, 0.33289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.17049, 0.33507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 14.02313, 0.33745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.78794, 0.34006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.2834, 0.343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.28907, 0.34647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.60014, 0.3507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 8.08387, 0.35584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.72471, 0.36185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.65009, 0.36852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -3.87395, 0.37555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.4893, 0.38275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -12.82822, 0.39023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.59871, 0.3984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.63609, 0.40781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.90865, 0.41891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.4883, 0.4319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.50063, 0.44674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.06541, 0.46326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.24325, 0.48128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -25.0121, 0.50073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.29143, 0.52137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -23.01214, 0.54242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -21.20801, 0.56197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -19.08756, 0.57693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -17.0337, 0.58372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.49947, 0.57982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.83927, 0.56491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.1791, 0.54107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.39748, 0.51184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.20019, 0.4811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.22398, 0.45202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.12085, 0.42667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.60959, 0.40587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.50082, 0.38959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.70365, 0.37722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.21689, 0.36798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.1035, 0.36106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.45243, 0.35578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.34395, 0.35159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.84218, 0.34806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -14.02519, 0.34478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -11.03091, 0.34146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -8.07198, 0.33795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.38693, 0.33435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.14897, 0.33094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39522, 0.32803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.02253, 0.32581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.15476, 0.3243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.32231, 0.32339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.59834, 0.32287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 5.00828, 0.32254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.50535, 0.32225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01555, 0.32193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.4741, 0.32156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.83404, 0.32116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.05504, 0.32076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.0949, 0.32039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.91768, 0.3201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.51246, 0.31997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.90511, 0.32002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.26369, 0.3138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.43862, 0.31433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.53767, 0.31506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.61432, 0.31595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.68729, 0.31699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.74404, 0.31813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.75723, 0.31936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70145, 0.32067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.56279, 0.32207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.34297, 0.32356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.0622, 0.32518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.75942, 0.32693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.48195, 0.3288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.25875, 0.33077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 12.06354, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.78761, 0.33508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.24346, 0.33761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.20454, 0.34064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.4664, 0.34435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.90723, 0.34883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.53299, 0.35394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.50209, 0.35941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -5.91104, 0.36492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.33239, 0.37036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.41552, 0.37593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -17.89597, 0.38211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.6314, 0.38942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.59681, 0.39826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.8546, 0.40874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.51171, 0.42062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.6706, 0.43346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.38534, 0.44676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.64362, 0.46015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.39101, 0.4733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.5922, 0.48573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.30246, 0.4965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.71399, 0.5041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -13.14907, 0.50682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.99254, 0.50336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.58778, 0.49338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.14043, 0.47776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.66525, 0.45826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -10.98708, 0.43703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.78897, 0.41611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.69162, 0.39703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.34075, 0.38066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.4767, 0.36728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.96849, 0.35667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.80776, 0.34841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.06858, 0.34198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.84999, 0.33695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.22935, 0.33296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.25532, 0.32971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.98666, 0.3269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.54721, 0.32429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.14438, 0.32175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -3.0176, 0.31929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33997, 0.31707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.1398, 0.31529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.70676, 0.31404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.41318, 0.31333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.18837, 0.31306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.15795, 0.31307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.3355, 0.31319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.65066, 0.31331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 7.00745, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33017, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.57195, 0.31334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.69566, 0.3133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.65746, 0.31327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.41307, 0.3133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 12.94148, 0.31346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.26369, 0.3138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 11.97747, 0.30966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.0769, 0.31035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.10131, 0.31123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.11694, 0.31227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.152, 0.31346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.1968, 0.31475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.21989, 0.31612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.1868, 0.31755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.07273, 0.31904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.87002, 0.32058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.59391, 0.32218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.28363, 0.32383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.99022, 0.3255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.74543, 0.32719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.52132, 0.32892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.20353, 0.33077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.60014, 0.33291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.4877, 0.33551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.67595, 0.33871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 4.06781, 0.34251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.69949, 0.34668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.249, 0.35091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.48152, 0.3549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.65031, 0.35861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.43416, 0.36231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.5967, 0.36647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.00757, 0.3716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.63332, 0.37801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51372, 0.38572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.73183, 0.39439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.38052, 0.40344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.53149, 0.41216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.22131, 0.41998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.46628, 0.42654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.30021, 0.43164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.81224, 0.43511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -12.16292, 0.43664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.57405, 0.43583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.30183, 0.43225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.6021, 0.42571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.6856, 0.41638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66195, 0.40489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.48805, 0.39217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -6.95213, 0.37918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.71562, 0.36678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.40454, 0.35559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.71168, 0.34597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.464, 0.33796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.63097, 0.33144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.27917, 0.3262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.50149, 0.322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.36188, 0.31867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.8886, 0.31602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.11907, 0.31385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.16102, 0.312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.21463, 0.31033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.52115, 0.30883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26005, 0.30756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.53821, 0.30663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 1.00662, 0.3061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.37773, 0.30595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.87917, 0.30612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.64324, 0.30647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.67383, 0.3069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.88035, 0.3073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.14749, 0.30763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.38965, 0.30791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.55985, 0.30814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.62394, 0.30834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.53673, 0.30855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.24615, 0.3088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.72123, 0.30916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 11.97747, 0.30966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.00607, 0.30745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.03704, 0.30824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 10.98494, 0.30921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.93048, 0.31033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.91463, 0.31157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.93417, 0.31291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.95631, 0.31431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.9391, 0.31574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.84806, 0.31719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.66772, 0.31864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.4097, 0.32011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.11306, 0.32155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.82836, 0.32297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.5827, 0.32436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.33889, 0.32576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.9736, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.29385, 0.32911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 7.08835, 0.33139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.19229, 0.33417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.54228, 0.33736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.79294, 0.34069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.61425, 0.3438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.6294, 0.34645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.51573, 0.34864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -15.98364, 0.35067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.81744, 0.35299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.88802, 0.35603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.14692, 0.36005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.61296, 0.36503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.35579, 0.37061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.47625, 0.3762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -20.08526, 0.38111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.28868, 0.38478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -16.18439, 0.38695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.86906, 0.38766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.44402, 0.38717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -9.01537, 0.38571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.69516, 0.38342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.6119, 0.38023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.92395, 0.37598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.81207, 0.3706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.43207, 0.36421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.83949, 0.35709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.93025, 0.34962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.44234, 0.3422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.0295, 0.33517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.37321, 0.32878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.27404, 0.32319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.67845, 0.31841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.63713, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.22901, 0.31115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.50079, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.45993, 0.30645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.12256, 0.30484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.5779, 0.30357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -2.01361, 0.30255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.66732, 0.30174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.27677, 0.30116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.78171, 0.30084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.98102, 0.30082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.11699, 0.30107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.42957, 0.30154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 2.05634, 0.30215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.99518, 0.3028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.14151, 0.30344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.36566, 0.30402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.57373, 0.30454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.71714, 0.30501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.76249, 0.30544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.66184, 0.30585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.35484, 0.30629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.79995, 0.30681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.00607, 0.30745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.29913, 0.30701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.28272, 0.30791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.16632, 0.30894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.04629, 0.31009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 9.97935, 0.31133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 9.97201, 0.31263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 9.99211, 0.31395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.99068, 0.31526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.92335, 0.31654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.76721, 0.31779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.53108, 0.319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.25351, 0.32016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.98186, 0.32126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.73406, 0.32234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.46018, 0.32345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 8.02859, 0.32474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.25065, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.93545, 0.32841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.95135, 0.33088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.27222, 0.3336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.00387, 0.33623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.66837, 0.33843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.44368, 0.34 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.03668, 0.34097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.18489, 0.34163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.68479, 0.3424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.40406, 0.34363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28391, 0.34555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.33591, 0.34812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.63394, 0.35106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.30101, 0.35388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.49138, 0.35605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.37069, 0.35714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -13.09679, 0.35701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.80195, 0.35581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.57878, 0.35389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.47654, 0.35161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.51698, 0.34918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.73055, 0.34663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.19674, 0.34385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), -0.05844, 0.34072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.51502, 0.33717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.40912, 0.33325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.35434, 0.32907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.58972, 0.32476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -2.99894, 0.32048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.27851, 0.31639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.22177, 0.31261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.76041, 0.30923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.93077, 0.30629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.79821, 0.3038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.39441, 0.30175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.70949, 0.30014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.74031, 0.29893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.55598, 0.29806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.32567, 0.29747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27505, 0.29712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.41337, 0.297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.69673, 0.29711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.70291, 0.29745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.67428, 0.29797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.85496, 0.29866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.38563, 0.29947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.26264, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.37564, 0.3012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.58748, 0.30203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.79809, 0.30282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.9555, 0.30355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.02381, 0.30423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.95011, 0.30488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.66465, 0.30553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.11425, 0.30623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.29913, 0.30701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.79144, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.76451, 0.30924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.6124, 0.31034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.44713, 0.31149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.34353, 0.31268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.32079, 0.31387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.34919, 0.31503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37263, 0.31613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.33569, 0.31714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.20685, 0.31808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.99125, 0.31894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.72584, 0.31974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.45305, 0.3205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.18033, 0.32127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.84611, 0.32214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.31484, 0.32325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.40894, 0.32474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.96457, 0.32664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.88729, 0.32888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.18773, 0.33123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.01265, 0.33332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.50462, 0.33484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.03106, 0.3356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.32737, 0.33565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.15249, 0.33527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.31159, 0.3348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.67358, 0.33459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.18248, 0.33481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.85978, 0.33549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.79711, 0.33641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -17.14139, 0.33725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -15.07565, 0.33766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.79692, 0.33736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.49047, 0.33628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.30083, 0.33456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.30743, 0.33246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.51886, 0.33028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.8966, 0.32819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.40479, 0.32624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), -0.06523, 0.32438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.0152, 0.32247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.67161, 0.32045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.75999, 0.31826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.2474, 0.3159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.25779, 0.31341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.96007, 0.31081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.12896, 0.30819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04751, 0.30565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.64122, 0.30327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.93734, 0.3011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.99261, 0.2992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.83005, 0.2976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.42898, 0.29632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.77146, 0.29537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.90677, 0.29474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.98102, 0.29441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.19963, 0.29434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.265, 0.29452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.36783, 0.2949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.22764, 0.29547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), 0.07808, 0.29619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.15906, 0.29705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.61165, 0.29802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.43542, 0.29908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.52309, 0.30019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.73771, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.97598, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.18091, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.31098, 0.30444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.30617, 0.30539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.08631, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.58514, 0.30724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.79144, 0.30821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.40208, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.41751, 0.31205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.27602, 0.31323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.10313, 0.31439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 8.99245, 0.31551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 8.97814, 0.31654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.03487, 0.31747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.10001, 0.31829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.10615, 0.31897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 9.01119, 0.31954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.81419, 0.32002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.54811, 0.32044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.24913, 0.32085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.91534, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.47789, 0.32199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.8039, 0.32296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.73355, 0.32434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.13466, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.95125, 0.32817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.77196, 0.33021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -3.89545, 0.33187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.21377, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.49051, 0.33305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.48601, 0.33245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -15.97842, 0.3313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.78594, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79066, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.95501, 0.32759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.32307, 0.32687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -17.00733, 0.32638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -15.16841, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.99514, 0.3253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.68627, 0.32433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.42841, 0.32297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.36589, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.57088, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -3.03237, 0.3176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.67934, 0.31592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.43534, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.71866, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.7077, 0.3119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.38077, 0.3107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.58347, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.24942, 0.30811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45667, 0.30665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.41095, 0.30505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.63862, 0.30335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.50119, 0.3016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.101, 0.29989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.46044, 0.29827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.63302, 0.29679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.64054, 0.29549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.45981, 0.29443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.06448, 0.29363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48651, 0.29314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.84664, 0.29293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.32362, 0.29301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.07178, 0.29334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.13303, 0.29389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.39867, 0.29459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.65012, 0.29544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.65872, 0.29642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.28536, 0.29754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.47685, 0.29879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.5317, 0.30015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.74976, 0.30157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 4.0278, 0.303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.30303, 0.30443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.52613, 0.3058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.62866, 0.30712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.51988, 0.30839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.11964, 0.30962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.40208, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.03869, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.1624, 0.31605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.09495, 0.31737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 8.96972, 0.31854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.8966, 0.31956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.92515, 0.32042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.03662, 0.32109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.16404, 0.32159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.22887, 0.32193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.17723, 0.32214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.99908, 0.32226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.72001, 0.32233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.36848, 0.32243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.9354, 0.32267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.35009, 0.32316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.48917, 0.32402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.21593, 0.32531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.43227, 0.32696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 1.11991, 0.32879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.64515, 0.33052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.70766, 0.3318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -7.86505, 0.33236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -10.89729, 0.33209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.58625, 0.33102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.73228, 0.32933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.17772, 0.32732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.83306, 0.32526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.69178, 0.32336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.82485, 0.32171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.35935, 0.3203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.45409, 0.31905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.28299, 0.31784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -9.02584, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.85527, 0.31519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.91042, 0.31369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.26347, 0.31215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.90112, 0.31068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.74141, 0.30934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.31314, 0.30819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.30931, 0.30723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.19995, 0.3064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.85316, 0.30567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.11661, 0.30496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.9057, 0.30421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.26522, 0.30335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.36478, 0.30235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.42677, 0.30121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.36999, 0.29996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.95015, 0.29866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.33298, 0.29739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.5721, 0.29618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.69414, 0.29508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.68124, 0.29414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50591, 0.29343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.18698, 0.29297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.81997, 0.29281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.55318, 0.29294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.51682, 0.29332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.74445, 0.29393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.13613, 0.2947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.49142, 0.29561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.59719, 0.29667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.31784, 0.2979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.63638, 0.29932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.36781, 0.3009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.57845, 0.30262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.89547, 0.30441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.25054, 0.30623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.58567, 0.30803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.82416, 0.30977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.86621, 0.31146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.61856, 0.31307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.03869, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.60878, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.91244, 0.32083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 8.99495, 0.32232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 8.98811, 0.32354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.0109, 0.32448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.12551, 0.32515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32124, 0.32557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.53086, 0.32578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.66852, 0.32581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.66968, 0.32573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.51302, 0.32557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.21332, 0.3254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.78946, 0.32531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.22683, 0.32541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.4577, 0.32581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.37327, 0.3266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.86316, 0.3278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.86361, 0.32929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.39221, 0.33087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.44549, 0.33224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.47735, 0.3331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.49849, 0.33323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.29889, 0.33254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.68031, 0.33109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.47217, 0.32903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55429, 0.32661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.87881, 0.32408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.47676, 0.32164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.44308, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.90887, 0.31746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -12.01743, 0.31575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.91488, 0.31423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.75185, 0.31285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.68025, 0.31152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.83194, 0.31022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.28354, 0.30896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -1.03048, 0.30778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.005, 0.30672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 0.92655, 0.30582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.79815, 0.30509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.59658, 0.30452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.2123, 0.30408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.50395, 0.30371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.37987, 0.30332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.86105, 0.30285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.08608, 0.30221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.25147, 0.3014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.52299, 0.30043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), -0.02519, 0.29938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.40912, 0.2983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.68314, 0.29723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.88179, 0.29623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.99821, 0.29534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01023, 0.29464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.92857, 0.29417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.82568, 0.29398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.81836, 0.29408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.00904, 0.29445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.41852, 0.29504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -1.95263, 0.29581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.4287, 0.29672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.65026, 0.2978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.48586, 0.2991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -1.90742, 0.30063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -0.97503, 0.30239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.21114, 0.30435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.55633, 0.30646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.98749, 0.30864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43844, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.82602, 0.31303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.04481, 0.31516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 7.99193, 0.3172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.60878, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.03851, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.58818, 0.3259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.89942, 0.32759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.0903, 0.32889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.27697, 0.32978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52704, 0.3303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.83749, 0.33051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.14578, 0.33049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.36529, 0.33032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.42509, 0.33007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.29288, 0.3298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.97026, 0.32957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.46458, 0.32947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.75615, 0.32959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.78254, 0.33004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.45196, 0.33086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.6809, 0.33203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.43843, 0.33338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.22412, 0.33467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.17182, 0.33562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.21195, 0.33597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.13055, 0.33558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.72218, 0.33443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.8089, 0.33259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.25655, 0.33024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.99259, 0.32757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -16.01767, 0.3248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.40015, 0.32209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.25223, 0.31958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.69987, 0.31734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.86329, 0.31541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.85662, 0.31375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.79932, 0.31234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.82105, 0.31109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -3.04497, 0.30997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.55283, 0.30895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.35393, 0.30801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.61581, 0.30719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.45514, 0.30649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.23641, 0.30595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 2.95653, 0.30558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.53047, 0.30535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.8347, 0.30522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.7793, 0.3051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.36865, 0.30487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.71341, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 1.98311, 0.30383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.32777, 0.303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.81879, 0.30204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.44379, 0.30101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.1492, 0.29998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.10715, 0.29899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.33168, 0.29809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.51185, 0.29734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.65492, 0.29681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.81355, 0.29656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.07411, 0.29658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.50973, 0.29688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.12486, 0.2974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.82705, 0.2981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.4482, 0.29895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.80705, 0.29998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.77644, 0.30125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.31826, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.4743, 0.30465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.32888, 0.30675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), 0.02908, 0.30907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.52269, 0.31152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.07899, 0.31406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61122, 0.31662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.0134, 0.31915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.17931, 0.32159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.03851, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.29342, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.13744, 0.33081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74532, 0.33269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20948, 0.33408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.62887, 0.33497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.06563, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.52097, 0.33552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.9409, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.24555, 0.3352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.36422, 0.33498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.25691, 0.33482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.91203, 0.33477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.32419, 0.33491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.46781, 0.3353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.2855, 0.33602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.70169, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.6577, 0.33833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.15262, 0.33961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.73023, 0.34063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.82531, 0.3411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -6.91475, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.77006, 0.3398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.18769, 0.33806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.01198, 0.33576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.1499, 0.3331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.57972, 0.33025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.34924, 0.32738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.55842, 0.3246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.32967, 0.32202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.77911, 0.3197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -10.00355, 0.31771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -8.08816, 0.31603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -6.12475, 0.31465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.22194, 0.31351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.49276, 0.31255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -1.02193, 0.31174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.16706, 0.31104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.11994, 0.31044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 1.92293, 0.30995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.64941, 0.3096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.31253, 0.30941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.85267, 0.30938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.16943, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.18181, 0.30951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.88329, 0.30946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.35805, 0.30919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.74578, 0.30863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.17584, 0.30782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.71337, 0.30683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.34948, 0.30576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.03377, 0.30466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.71943, 0.3036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.38811, 0.30263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.04146, 0.3018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.32738, 0.30118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.75471, 0.30083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.29857, 0.30075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.00253, 0.30094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.85177, 0.30133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.75069, 0.30189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.54101, 0.30259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.05391, 0.30348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.16683, 0.30462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.83464, 0.30607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.08494, 0.30784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -2.98933, 0.30994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.63214, 0.31229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.09352, 0.31486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.54855, 0.31757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.20697, 0.32037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78074, 0.32319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.16789, 0.32594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.29342, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.39238, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.55272, 0.33529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.50014, 0.3373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.2936, 0.33879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 10.00233, 0.33975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.67138, 0.34024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.30015, 0.34041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.84395, 0.34041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.23503, 0.34039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.4095, 0.34046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.32461, 0.34069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.95812, 0.34113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.29228, 0.34182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.29457, 0.34282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.91048, 0.34412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 7.07741, 0.34567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.75764, 0.34728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.97696, 0.34867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.1504, 0.34949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.42624, 0.34946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.60364, 0.34847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.43694, 0.34661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.72504, 0.34409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.33706, 0.34117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.22162, 0.3381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.40378, 0.33503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.97032, 0.33209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -14.04376, 0.32932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.75086, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.19783, 0.32455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.46338, 0.32261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.61151, 0.321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.71308, 0.31971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.8586, 0.31871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -2.14956, 0.31794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.66984, 0.31735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.54582, 0.3169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.52433, 0.31655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.33502, 0.31631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.04655, 0.31619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.68406, 0.31621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.21279, 0.31636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.55863, 0.31661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.65484, 0.31683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.48844, 0.3169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.11783, 0.31669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.64905, 0.31613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.18461, 0.31525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.77824, 0.31416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.42291, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.07367, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.68349, 0.31052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.22624, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.69463, 0.30851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.08151, 0.3078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.63529, 0.30733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.48745, 0.30713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.48895, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.60283, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.72533, 0.30768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.70287, 0.30812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.3764, 0.30873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.62928, 0.30958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.41416, 0.31074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.75066, 0.31227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.70281, 0.31415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.35272, 0.31635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.78354, 0.31882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.07637, 0.32151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.68419, 0.32434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.40663, 0.32724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.99993, 0.33012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.39238, 0.33285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.40592, 0.33704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.87618, 0.33948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.17193, 0.34153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.31747, 0.34312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.34633, 0.34423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.27847, 0.34495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.10492, 0.34542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.7873, 0.34581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.27072, 0.34629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.50126, 0.34697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.43747, 0.34794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 13.04992, 0.34924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.31027, 0.35089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.1787, 0.35291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.601, 0.35522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.52359, 0.35768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.92555, 0.36 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.85671, 0.36175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.53766, 0.36249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.02421, 0.36194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.32467, 0.36008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.17669, 0.35715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.38467, 0.35359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.84443, 0.3498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.54331, 0.3461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.54454, 0.34265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.96239, 0.33954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.93213, 0.33677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.58062, 0.33431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -11.0067, 0.33218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.27877, 0.33038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.4494, 0.32891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.57646, 0.32778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.73625, 0.32697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -2.01787, 0.32643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.50019, 0.32611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.77567, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.82031, 0.32592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.68513, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.42999, 0.32614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.08752, 0.32641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.64507, 0.32677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.05511, 0.32717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.26783, 0.32751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.26675, 0.32764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.08511, 0.32743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.79227, 0.32683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.45817, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.11937, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.76773, 0.32324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.36464, 0.32185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.86706, 0.32054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.24654, 0.31935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.49128, 0.31834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.59588, 0.31753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.44771, 0.31696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.64526, 0.31659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -2.98021, 0.31639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.39018, 0.31629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.75846, 0.31623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -6.93196, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.76016, 0.31634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.13524, 0.31668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.01391, 0.31734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.41514, 0.31839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.40113, 0.31983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.05432, 0.32165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.46052, 0.32379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.70214, 0.3262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.14079, 0.32883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.98847, 0.33158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.76448, 0.33436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.40592, 0.33704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.43478, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.18534, 0.34404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.80457, 0.34608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.28746, 0.34779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.63435, 0.34919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.83877, 0.35036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.87906, 0.35143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.71786, 0.35256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.30887, 0.35392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.60618, 0.35564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.57007, 0.3578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.16568, 0.36044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.35564, 0.36358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 12.09269, 0.36718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.32095, 0.37109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.99272, 0.37504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.1014, 0.37855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.72064, 0.38102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -1.9707, 0.38184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.70068, 0.38069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.15866, 0.37768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.06857, 0.37331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.24483, 0.36827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.61144, 0.36319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.18991, 0.35848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -16.07206, 0.35434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.38865, 0.35082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.27947, 0.34785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.86867, 0.34536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.25076, 0.34331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.49113, 0.34164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.63954, 0.34034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.74826, 0.33942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.88342, 0.33884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -2.12189, 0.33859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.53408, 0.33861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.83771, 0.33882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 1.9923, 0.33917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 2.96464, 0.33961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.8036, 0.3401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.54448, 0.34065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.1916, 0.34122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.72056, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.09763, 0.34217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.30392, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.34892, 0.34209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.26482, 0.34144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.08586, 0.34041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.82671, 0.3391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.47393, 0.33767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 4.99391, 0.33625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.34982, 0.33492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.5157, 0.33374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.48081, 0.33273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.24591, 0.3319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.17999, 0.33122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.77434, 0.33065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.48691, 0.33009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.2257, 0.32948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.85684, 0.32877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.22537, 0.328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.19049, 0.3273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.65807, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.59611, 0.32665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.03022, 0.32693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.02597, 0.32766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.66815, 0.32883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.04452, 0.3304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.23712, 0.3323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.32058, 0.33448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.63672, 0.33685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.57268, 0.33931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.43478, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.57399, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.56222, 0.35034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.45714, 0.35238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.23386, 0.35432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.86835, 0.35619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.33271, 0.35807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.5922, 0.36009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.60548, 0.3624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.32793, 0.36515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.71544, 0.36847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.72604, 0.37246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.31758, 0.37717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.44259, 0.38259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 13.04489, 0.38863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 11.06458, 0.39504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.45781, 0.40134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.23246, 0.40679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.49015, 0.41044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.54946, 0.41143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.56922, 0.40941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.22468, 0.40468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.23042, 0.39814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.41682, 0.39088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.73809, 0.3838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.24632, 0.37744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -17.05439, 0.37205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.30183, 0.36763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -15.12774, 0.3641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.65229, 0.3613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.96795, 0.35913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -10.14174, 0.35748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.22617, 0.35631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.27286, 0.35559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.34118, 0.35529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.49661, 0.35536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.79918, 0.35575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.71196, 0.35638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.02879, 0.35715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.17284, 0.358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.18125, 0.35887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.08708, 0.3597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 5.90423, 0.36048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.62426, 0.36114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.22507, 0.36161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.68485, 0.36178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 7.99188, 0.3616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.14446, 0.36104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.14213, 0.36015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 7.97515, 0.35906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.62005, 0.35789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.04396, 0.35677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.21487, 0.35578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.11154, 0.35492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.72908, 0.35419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.0804, 0.35351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.19782, 0.35279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.86141, 0.3519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.0068, 0.35074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.11092, 0.34921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.01919, 0.34735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.57504, 0.34528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.65144, 0.34321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.17473, 0.34138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.13181, 0.33997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.5614, 0.33909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.53644, 0.33877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.14521, 0.339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.47647, 0.33973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.61076, 0.34088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.61757, 0.34239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.5562, 0.34418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.52227, 0.34617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.57399, 0.34825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.87821, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 5.06024, 0.36061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.17672, 0.36276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.19253, 0.36512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 11.07011, 0.36773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.76832, 0.37068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.24228, 0.37411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.44421, 0.37817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.32487, 0.383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.8345, 0.38877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.92205, 0.39558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.53242, 0.40352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.60301, 0.41255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 14.06355, 0.42251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.8452, 0.43297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.90511, 0.4431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.26817, 0.45166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.07376, 0.45713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40229, 0.45825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.78401, 0.45461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.68859, 0.44697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.82645, 0.43686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -17.05209, 0.42598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.35484, 0.41561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.81705, 0.40648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.56939, 0.39887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.7567, 0.39276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.51572, 0.38799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.96266, 0.38435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -13.18916, 0.38165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.26535, 0.37973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.24808, 0.37848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -7.1901, 0.37783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -5.1458, 0.37771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -3.1705, 0.37805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.31339, 0.37877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.39203, 0.37978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 1.93485, 0.38095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.32644, 0.38218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.59206, 0.38339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.75779, 0.38451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.83859, 0.38549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.83253, 0.3863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.72244, 0.3869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.48213, 0.38727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.08271, 0.38738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.49523, 0.38728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.68954, 0.38704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.6316, 0.38678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.28307, 0.38659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.60468, 0.38656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.56324, 0.38669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.13982, 0.38692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.33731, 0.3871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.18681, 0.38701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.75335, 0.3864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.85946, 0.38502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.50925, 0.38273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.02464, 0.37953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.22755, 0.37558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -10.96285, 0.37125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.12432, 0.36691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.66703, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.60409, 0.35958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -11.99261, 0.35696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.91564, 0.35512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.46547, 0.35402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.73116, 0.3536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.79123, 0.35375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.71113, 0.35442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.54431, 0.3555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.66493, 0.35694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.87821, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.34372, 0.37639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.68437, 0.37837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.97697, 0.3809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 9.18344, 0.38402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.26157, 0.3878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 13.16481, 0.39238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.84258, 0.39791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.24084, 0.40457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.30232, 0.41257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.96585, 0.42212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.16438, 0.43341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.82208, 0.44655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.8523, 0.46155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.16045, 0.47809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.65841, 0.49543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.29775, 0.51209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.12338, 0.52584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.33005, 0.53409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.72157, 0.53484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.57062, 0.52781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.78646, 0.51468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -17.08283, 0.4982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.35225, 0.48105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.62974, 0.46507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -21.03288, 0.4512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.71162, 0.43972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.81676, 0.43055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.48357, 0.42341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.82523, 0.418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.93249, 0.41401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.87749, 0.41121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.71969, 0.4094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.5118, 0.40844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.30336, 0.4082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -4.14052, 0.40855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -2.06257, 0.40939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), -0.09679, 0.41058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.745, 0.41198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.46616, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.08009, 0.41493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.602, 0.41631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.04027, 0.41757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.39061, 0.41871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.63428, 0.41974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.73968, 0.42072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.66564, 0.42173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.3643, 0.42287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.78298, 0.42425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.86548, 0.42599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.5541, 0.42817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.79373, 0.43078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53892, 0.43371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.76397, 0.43668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.47556, 0.43923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.72638, 0.44079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.62591, 0.44075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.6576, 0.43863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -4.91066, 0.43428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -7.90477, 0.42792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.43523, 0.42018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.35404, 0.41184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.58538, 0.40364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.12223, 0.39614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.0107, 0.38968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.33038, 0.38441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.17636, 0.38031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.6454, 0.37731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.82666, 0.3753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.79682, 0.37415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.61868, 0.37377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.34266, 0.37406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.00994, 0.37495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.34372, 0.37639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.90912, 0.40744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.38674, 0.40976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.82655, 0.4131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 9.1914, 0.41754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.43967, 0.42323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.52451, 0.43035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.39346, 0.43913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.9879, 0.44985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.24188, 0.46284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 19.08004, 0.47847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.41431, 0.49708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 19.14044, 0.51896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.13632, 0.54415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.26752, 0.57221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.40874, 0.60176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.49255, 0.63002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.58726, 0.65272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -1.02595, 0.66498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.84928, 0.66354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.29264, 0.64879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.86672, 0.62463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.30754, 0.59624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.57247, 0.5679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.76197, 0.54219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -24.03933, 0.52021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.57861, 0.50213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.53909, 0.48764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -21.05619, 0.47628 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -19.24049, 0.46754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -17.18064, 0.46098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.94787, 0.45621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.60074, 0.45293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -10.18918, 0.45087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.75693, 0.44984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.34199, 0.44964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.97545, 0.4501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.67966, 0.45106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.53279, 0.45235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.65822, 0.45386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.69856, 0.45549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.65633, 0.45719 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.52909, 0.45896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.30495, 0.46084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 12.95992, 0.46295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.45732, 0.46542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.74868, 0.46842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.77511, 0.47217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.4688, 0.47687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.75443, 0.48268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.55146, 0.48971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.77851, 0.49788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.36199, 0.50689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.25124, 0.51606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.44134, 0.52431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 7.00084, 0.53017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 3.09392, 0.53216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.0205, 0.5292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.02575, 0.52115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.61272, 0.50894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.54327, 0.49418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.68308, 0.47861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -14.99822, 0.46362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.52958, 0.45011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.36286, 0.43852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.60392, 0.42895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.36187, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.73893, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.82504, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.69572, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.4124, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.02447, 0.40574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.5723, 0.4061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.90912, 0.40744 + 1);
}

TEST(GeoLookupTest, inclination) {
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.61487, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.63388, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.6678, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.71718, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.78117, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.85732, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.94066, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -65.02243, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.08912, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.12256, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.10141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -61.00382, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.81097, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.51126, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.10471, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.60752, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.0559, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.50835, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04497, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.76263, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.76509, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.14824, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -47.98263, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.29736, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.07096, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.23302, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.6768, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.27834, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -54.91557, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.48219, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.89434, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.09086, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.0301, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.68682, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.05172, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.13429, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.96742, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.61077, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.14978, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.6884, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.33538, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.18754, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.31522, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.75439, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.50671, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54577, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.82616, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.29281, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.88903, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.56229, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.2675, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -70.96752, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.6312, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.22968, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.73245, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.10437, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.3051, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.29189, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.02602, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.48184, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.65485, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.56359, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.24347, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.73649, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.08272, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.31625, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.46467, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55044, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59243, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60704, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.60841, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.60817, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.61487, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20881, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.23148, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.26199, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.30092, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.3482, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.40397, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.46784, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.53685, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.60337, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.65378, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.66858, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.62393, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.49424, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.25638, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.89573, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.41412, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.83857, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22842, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.67804, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.31237, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.27353, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.69844, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.69037, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.29221, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.47167, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.12637, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.10767, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.25303, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.41455, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.47523, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.35187, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -59.98767, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.3408, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.37535, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.05974, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.37375, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.32122, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.94252, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.32134, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.58136, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.87075, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.3367, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.09799, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.22586, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.73902, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61063, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.78195, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.17713, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.71624, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.32498, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.94011, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.51051, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -71.99419, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.35333, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.55037, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.54823, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.31584, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.83675, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.11528, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.17503, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.04999, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.77378, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.37278, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.86485, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.26165, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.57191, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.80393, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.96721, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07331, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.13604, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17044, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.19087, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20881, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.40198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.41247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.4257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.44012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.45386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.46753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.48436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.50794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.53887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.57203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.59487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.58667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.51878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.35723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.06968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.63753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.07155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.80863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.37304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.30511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.78841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -40.96195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -41.87961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.48959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.64669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.15301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -50.80737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.44317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -55.94491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.24439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.30332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.09135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.56912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.68373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.37897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.61615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.39664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.77787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.87794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.86558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.93327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.25846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.96751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.11694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.63903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.85407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.23606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.68653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.12241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.47831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.70279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.75241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.58914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.18476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.5305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.64437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.5682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.35401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.2501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.76519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.21282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.5854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.87931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.09576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.24127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.32783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.37194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.40198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.0538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.03451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.01721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.99659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.96623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.92424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.8752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.82802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.79193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.77234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.76732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.76373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.73366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.63396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.41331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.47233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.10383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.60001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.5126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.07512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.4617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.7313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -39.8029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.47933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.50897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.65292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.73015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.63195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.31067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.75244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -61.94541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -63.85532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.41739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.54769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.16901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.24105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.78319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.88478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.70353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.44858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.34365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.5783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.26797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.43906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.03979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -62.96659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.09451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.30291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.49124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.58292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.51991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.25511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.98815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.97761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.76544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.42121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -69.01524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.59673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.18336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.3165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.81158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.23107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.56459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.80903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.96781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.05173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.07917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.07292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.0538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.00771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.93782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.87602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.81249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.73386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.63254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.5112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.38148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.25956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.16124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.09652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.06235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.03404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.96063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.77189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.40116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.8202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.0737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.2994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.72417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.63218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.30567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -30.94818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.61532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.18949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.41825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -41.99666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.64912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.17874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.47892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.51613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.29576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -60.82363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.07636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -64.99026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.47166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.42392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.78045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.53048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.73089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.50826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -64.05441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.60567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.39791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.60999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.32327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.08748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.90193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.8232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.73956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.56804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.2455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.94323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.90103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.61452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.15165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.60678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.06796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.58776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.17167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.38537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.92309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.37293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.72249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.96812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.11194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.16388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.14451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.08281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.00771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.10734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.96104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.83822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.72479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.59864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.44337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.25617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -41.04791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.83875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.65278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.51096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.42018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.35916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.26948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.06315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.6528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.14843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.26887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.62904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.56157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.38829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.32991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.43019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.53507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.34422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.50695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -41.71205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -45.73909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.46899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -52.86541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -55.9391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.70722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.16093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.25126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -64.89643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.00579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.51007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.38561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.6661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.44682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.88805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.21072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.66643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.47862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.78083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.58806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.8146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.32203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.96886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.6405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.2527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.03011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.07276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.83772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.35234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.70373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -59.01259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.38829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.88883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.50604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.83766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.41486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.87966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.22181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.44074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.53891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.52561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.42396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.27106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.10734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.21759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.96382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.76023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.58965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.41995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.22308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.98715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.71865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.43846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.17595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.96031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.80565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.69182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.55212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.28338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.78491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.06367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.39205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.39604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.41776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.67796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.20452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -22.81959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.1958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -31.95207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -36.74273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.31092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.50394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.26027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.57875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.48037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -57.97489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.0428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.6367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.69735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.17472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.32694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.08521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.45125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.62521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.85733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.39244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.39758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.91588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.87526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.14054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.57233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.06102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.52663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.89781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.09566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -55.04241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.69491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.0801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.30293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.51324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.84609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.36745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.05417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.54726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.16541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.63404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -48.94828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.11358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.13417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.01904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.79466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.50877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.21759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.26083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.86721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.56254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.32855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.12243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.90178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.64222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.34258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -24.02173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.71173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.4466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.24344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.07917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.87779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.52563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.91954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.95619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.92941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.29192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.42563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.66624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.21812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.09776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.12807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -19.98583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.28058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -30.63457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -35.7409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.39205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.48075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -47.97953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -50.90802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.29966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.17868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.55148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.40892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.7331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.72596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.42815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.71546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.77265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.85029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.20664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -47.02699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.36736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.15958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.26885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.56036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.93483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.32182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.64987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.82635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.75115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.36176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.68092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.82974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.98852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.32116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.9037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.69708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.40304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.07102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.54076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.81442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.90513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.81999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.56824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.18101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.71961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.26083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.26918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.71207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.29298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.99515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.76521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.54428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.29224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.99748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.67503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.35807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -12.08275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.8649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.67492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.42806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -7.0074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.31979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.26145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.72015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.23498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.91808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.46554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.69898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.39784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -6.6759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -11.84762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -17.53634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.3399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -28.89522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -33.92757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.27215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -41.86748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.72925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -46.91753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.50774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.56911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.14946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.26567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.04116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.67733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.88629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.84072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.79758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -40.0314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.74126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.98642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.69259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.71881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.93292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.24778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.60651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.94176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.1502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.11044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.73953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -38.05311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.18515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.34434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.72307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.40802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.34463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.32098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.05779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.53966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.77515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.7851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.57991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.16996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.59246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.92505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.26918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.43967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.71894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.18968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.83977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.60678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.41453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.20483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.95328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.66986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.38808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.1447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.95203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.22676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.48124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.92244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.62304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.56938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.39303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.69949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.1664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.5373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.66142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.5126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 2.1949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.05977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -8.90882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -14.9426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -20.7527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.00228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.47056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.06106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -36.78213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.71554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -39.98275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.71142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.00288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.90661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.41289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.47476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -38.05922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.20972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -34.08699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.95549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -30.10691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.75316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.95363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.62388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.61285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.78814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -28.07403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.42914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.79468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -29.06238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -29.09462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.79045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.15683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.33502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.55457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -26.03026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.85741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.96863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.27222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.10825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.63193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.85497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.80378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.49174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -20.93127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.16691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.29381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.43967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.1567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.30787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.69774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.32213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.8868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.02064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.15594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.33113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.54253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.75706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 7.93791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.0757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.21097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.43079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.83135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.45962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.26348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.07696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.64693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.68614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.92871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 20.16969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.28371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 15.23263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 11.07627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.9893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), 0.26848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -5.69323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.47235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -16.69673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.10643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.57445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.09506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.75708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.71062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.12682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.1513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.86312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.25786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.27061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.83796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.97552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.83013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.66808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.79089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.41809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.60841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.26971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.24282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.39436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.65777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -17.00678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.39524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.71847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.83274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.62624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -17.09752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.38704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.73136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.35453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.35545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.6594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.33246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.30635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -15.92066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.18443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.12522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.75811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.09815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.19732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.16648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.1567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.06359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.97015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.60976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 9.97561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.13508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.18965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.23107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.3113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.43409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.56834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.67739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.75202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.83005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 20.98742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.29909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.78681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.38184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.9224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.18553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.93505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.96344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 28.11394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.28536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.43486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.59331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.89212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.58141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 4.01447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.40998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.32639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.46542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.68063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -15.94545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.33672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.0094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.15675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.95503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.50864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.82246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.82245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.42398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.61952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.53835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.43639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.60947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.27385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.48673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.15522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.11963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.24799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.47988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.80089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.17994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.52604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.70368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.60208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.21397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.66956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.19401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -4.00265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.19069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.68371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.27736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.73575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.88457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.64853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.02694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.04234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.70905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.04447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.89396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.98539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.06359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.71005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.5852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.19364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.51542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.61037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.58133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.52864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.51492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.55198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.6128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.6615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.68597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.71471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.80562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.00953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.32693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.6821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.92826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.87924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.34965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.18449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.26951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.5292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.92856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.49026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 23.32187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.63324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.72348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.93328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.58111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.91232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -1.92464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -3.88238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.01172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.45015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.38935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.01795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.72699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.75414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.44704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.21794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.13376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.0705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.75721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 6.99373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.72542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.03732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.07925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 7.97716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.78815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.52029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.19045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 6.86798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.66567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.6798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 6.91873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.27035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.53793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.53197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.16809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.5133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.11568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.77011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.80533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.23762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 6.05567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.24916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.80011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.64973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.67612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.71005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.42152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.17847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 27.95001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 28.97756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.87648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.74694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.65708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.62616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.63323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.64453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.6434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.64491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.68542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.79189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.0784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.05483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.95354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.6582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 40.01209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.66965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.66267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 31.09046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 27.12972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 23.02036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 19.0282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.4008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.33555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.96479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.34827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.46411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.20603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.40453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.87873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.50101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.23981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.15196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.32296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.78406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.45357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.14079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.61539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.70363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.35435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.63789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.68504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.61039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.46918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.2688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.01584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.75555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.56932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.52889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.63845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.80693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.87532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.68991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.18185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.4069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.73053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.19028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.99912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.19092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.76937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.73111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 18.06018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.70152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.54179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.42152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.05307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.62161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.00793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.16879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.13332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 36.98047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.8012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.66252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.58869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.56569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.56346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.56122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.56002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.57494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.61158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.64138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.59089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.3511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.80137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.83509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.3752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.37657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.82232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.72456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 41.13338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 38.14753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.91532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.61953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.45081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.58232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 23.15573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.27599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 20.00356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.33884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.20945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.48005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.99369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.62954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.34532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.17706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.19258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.4227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.81031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.20949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.43836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.35524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.91389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.16701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.2211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.17498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.08132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 29.95012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.78256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.60288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.4606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.3996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.4162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.43804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.34347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.0156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.40237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.54856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.67039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.9591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.54762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.48473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.78889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.46483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.50071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.84934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.41326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.05307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.64855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.19903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.25518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.16226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 42.97878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.77891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.62141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.53125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.50027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.50312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.51669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.53049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.54166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.53849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.48332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.30606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.91287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.2059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.1043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.55739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.54728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 51.08583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.21272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.99696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.53754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.95741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.38949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.96028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.77948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.9388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.51341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.55562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.07786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 30.03593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.33058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.4491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.12017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.86473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.72831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.73559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.84951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 36.96675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 37.95366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.70204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.17254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.40127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.46928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.4569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.41178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.34667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.26083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.16316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.0767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.02023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 38.98095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.90032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.68751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.2574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.57359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.67264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.66127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.81497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.21397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.91613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.95098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.33016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 34.04662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.06298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.30133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.64855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.37103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.44455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.47452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.41605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.26945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.07194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.87635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.72711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.64469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.62379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.64335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.67996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.71549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.73427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.71229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.60593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.3484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.85735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 59.05143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.86841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.27762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.28336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.92148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.25392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.36316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.34548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.30136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.3244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.49335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.87163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.51309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.46688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.77281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.44631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.46225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.7521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.7875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.39977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.0569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.78332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.59492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.46904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.11092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.71134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.10863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.32564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.41992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.45226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.46224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.4631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.45331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.4317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.40219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.36418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.29671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.1505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.85775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.35827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.62926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.70263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.61401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.67279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.9262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.43474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.23365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.33889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.74765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.4324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.33517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.37103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.44004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.2583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.09784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.92181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.72308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.52017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.34379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.22075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.16259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.16309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.20371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.26177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.34067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.30696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.16753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.85899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.3079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.4451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.22224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.62392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.67128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.41729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.9377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.32053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.65552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 54.02412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.49194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 51.1066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.90218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.90754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.1519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.66187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.44991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.50134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.77004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.69219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.23563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.80605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.41136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.05904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.73588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.4015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 52.99987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.48217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.82747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.0493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.18528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.27723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.35417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.42641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.49083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.53953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.56366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.54935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.4698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.28222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.93574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.38942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.63232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.69491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.64591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.57993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.73567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.10135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.5882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.72741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.11205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.70238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.44004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.67931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.05655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.80528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.59521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.43807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.34351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.31233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.46199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.52135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.54295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.49212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.32202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.97313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.37967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.48249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.24453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.66234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.76881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.62665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.31664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.92494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.53185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.20337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.98691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.91231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.99774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.25752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.70706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.36131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.22703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.29369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.52972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.88803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.31925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.78585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.26943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.7673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.28073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.8026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.31198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.77902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.17701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.49418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.73825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.93118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.09783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.25527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.40787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.54895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.66519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.73931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.74907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.6646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.44874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.06401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.48513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.71194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.77596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.7369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.76128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.03667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.51605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.21668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.14152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.5198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.75976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.30411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.36279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.42831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.47598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.47722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.3963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.18749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.79553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.16179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.23635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.99234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.43606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.60789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.5739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.4129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.20387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 65.01613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.90341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.90195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 62.03267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.30649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.73037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.31109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.05465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.96189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.02305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.5054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.85748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.24143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.63852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.04106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.44703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.85333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.25184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.63054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 63.97848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.29128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.5733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.83511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.08767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.33633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.57759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.79927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 65.98263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.1043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.13707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.05041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.81318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.39976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.79867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.01997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.09769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.08557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.04799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.04955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.3821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.1471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.5198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.1706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.11005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.74346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.47486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.29541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.19409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.15654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.16501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.1989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.23535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.24899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.2103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.08322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.82343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.3796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.69973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.7427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.49131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.96023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.19426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.25835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.22484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.16255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.12959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.16974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.31214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.57351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.96208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.48167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.13423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.91997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.83532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.87032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.2232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.49196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.7912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.42502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.74848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.07497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.40388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.73368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.06304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.39229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.72379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.06046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.40294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.74657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.07972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.38368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.63395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.80212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.85795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.77204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.51991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.0873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.47545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.70401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.80997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.84271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.85683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.90495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.27393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.65382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.18627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.87762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.72798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.44895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.80259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.47279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.23577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.07809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.98379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.93448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.90967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.88667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.83988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.73931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.54874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.22483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.7192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.98534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.99016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.72571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.21408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.50262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.65257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.72748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.78498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.8723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 72.02475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.26618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.61086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.06605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.63445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.31587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.10766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 69.00415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.06916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.20753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.3935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.61144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.84978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.36614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.64348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.93689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.24965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.5848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.94464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.33002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.73912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.16585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.59838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.01831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.40084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.71594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.93071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.01277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.93465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.67875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.24159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.63591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.8897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.04243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.1397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.22772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.34891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.53888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.82514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.22714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.75731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.4225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.22545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.16597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.39318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.88468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.47375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.15019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.90156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.71332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.56883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.4494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.3338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.19735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 79.0105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.73722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.33477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.75653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.96009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.91944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.63547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.13724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.47343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.70005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.87091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 77.0323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.22114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.46494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.78276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.18659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.68292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.27415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.95964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.73622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.59836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.54599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.61062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.72101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.86745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.0428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.24313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.4678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.7188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 73.99978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.31502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.66826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.06165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.49464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 75.96277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.45648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 76.96017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.45152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.90163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.2763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.53884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.65488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.5985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.35807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.9394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.36474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.6684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.89102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.0743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.25722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.47364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.75123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.11127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.56917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.13535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.81635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.61581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.53532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57487, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength) {
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58513.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57381.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56235.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55084.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53934.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52788.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51644.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50496.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49333.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48138.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46894.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45584.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44195.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42722.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41167.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39545.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36202.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34554.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32979.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31520.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30217.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29099.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28182, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27463.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26925.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26536.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26258.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26049.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25877.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25716.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25555.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25395.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25249.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25142.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25108, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25189.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25432.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25885.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26590, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27574.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28852.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30419.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32257.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34330.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36596.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39007.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41511.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44061.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46611.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49121.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51555.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53881.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56067.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58082.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59896.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61486.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62831.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63919, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64746.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65319.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65647.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65747, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65637.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65338.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64870.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64254, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63508.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62653.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61709, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60692.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59622.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58513.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56342.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55153.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53956.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52759.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51569.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50389.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49220.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 48057.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46890.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45702.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44475.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43189, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41826.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40378, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38842.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37231, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35563.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33874, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32205, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30608, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29137.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27843.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26766.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25929.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25329.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24943.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24726.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24625.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24587.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24567.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24534.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24473.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24382.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24270.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24158.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24081.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24085.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24226.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24568.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25171.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26083.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27332.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28919.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30823.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33002, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35400, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 37953.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40595.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43266.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45911.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48484.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 50951.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53278.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55439, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57403.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59146.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60645.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61884.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62859.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63572.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64032.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64256.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64262.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64067.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63692.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63154.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62471.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61660.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60740.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59728.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58646.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57511.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56342.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53985.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52767.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51545.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50326, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49115.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47917.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46734.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45565.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44403.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43234.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 42041.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40803.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39502.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38126.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36667.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35130.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33528.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31892.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30264, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28700.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27264, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 26018.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 25013.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24279.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23813.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23585.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23539, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23609.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23733.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23863.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23966, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 24025.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 24038.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 24006.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23942.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23871, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23831.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23883, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24100, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24562.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25340.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26484.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28009, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29898.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32107.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34567.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37200.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 39922, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42655.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45335.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 47912.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50346.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52609.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54674.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56518.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58118.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59459.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60534.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61348.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61913.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62246.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62367.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62291.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62034.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61611.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61034.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60318.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59475.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58522.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57476.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56357.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55187.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53985.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51472.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50251.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 49029.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47812.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46603.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45406.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44225.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43062.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41915.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40775, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39628.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38458.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37248.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35981.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34646.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33237.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31760.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30236.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28705.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27227.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25870.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24707.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23798.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23176.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22841.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22754.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22852.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23063, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23321.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23581.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23815.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 24013.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24168.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24275.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24331.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24341.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24329.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24345.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24466, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24782.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25387.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26356.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27728.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29504.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31643.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34074.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36703, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39430, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42161.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44818.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47343.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49694.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51843.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53764.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55435, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56838, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 57966.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58828.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59443.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59837.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60035.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60057.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59915.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59616.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59167.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58576.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 57002.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56043, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54988.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53860.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52680.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51472.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48817.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47621.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46428.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45240.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44059.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42887.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41729.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40591.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39475.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38379.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37294.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36210, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35111.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33982.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32804.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31562.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30252.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28887.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27501.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26153.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24915.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23865.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23065.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22554.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22329, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22350.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22552.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22863.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23221.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23588.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23947.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24294.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24622.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24917, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25155.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25321.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25414.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25466.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25545.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25744.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26168, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26914.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28054.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29614.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31573.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33865, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36389.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39033.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41687.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44259.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46682.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48911.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50912.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52657.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54123.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55295.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56177.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56795.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57187.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57398.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57462, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57395.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57200.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56875.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56415.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55823.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55104.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54267.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53322.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52282.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51169.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 50006.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48817.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46049.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44907.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43771.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42643.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41521.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40405.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39302.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38218.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37160.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36130.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35128.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34147.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33178.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32203.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31201.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30149.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 29033.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27858.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26652.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25471.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24384.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23465.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22780, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22363.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22217.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22306, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22569.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22941.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23369.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23826, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24301.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24797.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25306.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25805.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26253.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26612.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26858.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 27002.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27095.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27219.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27482.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27995.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28854.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30121.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31803.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33851.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36170.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38638.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41133.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43555.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45827.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47899.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49731.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51287.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52537.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53468.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54093.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54457.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54624, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54655.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54593, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54449.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54215.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53873.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53409.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52822, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52117.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51303, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50388.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49384.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48310.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47190.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46049.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43229.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42170.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41123.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40088, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39058.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 38035.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 37023.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 36030.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35065.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34135.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33243.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32388.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31563.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30753.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29935.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29081.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28172.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27206.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26204.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25213.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24294.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23514.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22931.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22582.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22475.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22585.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22867.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23268, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23744.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24274, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24851.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25478.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26145, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26820.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27455.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27993.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28395.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28651.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28792, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28884.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 29024.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29327.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29905.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30848.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32198.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 33930.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 35961, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38170.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40432.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42640.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44715.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46599.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48246.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49609.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50650.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51352.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51737.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51866.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51826.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51696.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51525.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51319.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51053.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50697.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50230.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49648.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48960.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48175.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47303.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46354.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45343.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44293, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43229.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40463.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39518.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38591.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37679.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36776.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35881.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34999.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34138.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33308.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32514.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31764.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31058.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30392.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29755.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29122.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28468.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27769.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 27018.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26229, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25434.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24684.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 24031.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23526.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23208.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23092.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23175.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23431.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23825.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24323.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24904, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25556.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26275.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27046.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27835.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28590.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29251.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29769.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30123.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30322.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30415.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30480.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30623, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30962.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31608.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32626.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34017.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35716.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37612.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39585.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41528.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43364.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45034.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46484, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47658.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48508.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49013.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49197, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49135.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48928.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48670.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48411.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48151.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47855.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47483.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47008.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46428, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45754.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45003.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44183.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43302.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42375.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41421.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40463.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37908.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37105.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36324.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35562.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34813.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34076.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33358.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32665.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 32005.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31384.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30806.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30272.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29781.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29321.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28875.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28417.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27924.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27383.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26796.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26185.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25582.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 25029.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24568.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24238.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24068.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24073, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24253.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24596.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25076.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25668.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26351.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27107.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27913.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28735.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29526.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30234.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30810.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31226.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31479.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31595.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31633.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31684.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31862.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32279.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33018, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34095.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35464.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37030.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38685.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40334.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41904.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43340.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44584.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45577.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46261.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46611.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46651, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46458.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46140.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45791.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45463.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45152, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44818.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44417.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43923.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43337.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42676.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41957.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41193.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40393.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39567.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38733.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37908.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35743.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35101.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34486.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33892.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33314, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32754.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32220.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31720, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31258.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30836.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30455.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30113.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29808.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29533, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29272, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 29003.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28703.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28352.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27943.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27482.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26991, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26499.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 26044.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25665.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25400.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25284.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25341.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25579, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 25985.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26531.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27185.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27913.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28684.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29467, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30222.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30909, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31488.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31932.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32227.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32384.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32442.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32474.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32581.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32867.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33412.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34242, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35322.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36577.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37920.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39271.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40570.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41766.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42805.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43625.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44169.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44409.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44364.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44106.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43731.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43328.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42942.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42570.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42179.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41728.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41197.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40593.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39934.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39244.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38537.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37822.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37111, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36414.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35743.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34124.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33654.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33213.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32791.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32388.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 32010.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31668.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31370.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31120.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30913.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30744.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30607.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30497.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30410.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30332.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30243.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30116.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29926.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29655.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29300, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28873.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28402.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27918.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27463, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27078.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26813.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26711.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26797.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27072, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27509.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28070.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28710.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29392.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30085.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30760.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31388.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31939.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32387.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32717.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32928.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33046.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33127.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33251.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33505.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33953.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34617.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35473.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36465.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37530.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38608.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39655, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40624.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41469.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42132.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42562.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42731.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42652.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42380.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 41992.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41557.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41114.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40663.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40184.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39653, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39059.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38416.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37745.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37072.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36413.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35781.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35185.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34633, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34124.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33148.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32842.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32567.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32311.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32076.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31873.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31717.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31620, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31581.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31592.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31640.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31714.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31805.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31908.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 32009.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32086.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32109.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 32045, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31869.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31574.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31171, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30682.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30142.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29592, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29079.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28658.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28384.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28295.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28402.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28684.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29102.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29611.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30172.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30756.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31339.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31901.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32418.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32867.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33231.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33506.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33711.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33888, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34095.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34395.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34829.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35405.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36106.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36896.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37736.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38590.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39424.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40202.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40881.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41413.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41755.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41883.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41803, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41548.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41168.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40708.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40197.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39643.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39044.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38396.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37707.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 36996.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36289.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35611, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34981.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34415.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33922.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33502.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33148.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32830.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32664.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32534.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32344.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32302.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32321.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32412.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32575.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32797.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33059, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33342, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33633.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33923.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34196.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34425.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34574.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34607.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34493.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34224.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33810.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33276.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32660.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 32007.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31369.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30805.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30373.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30117.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30053.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30166.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30423.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30784.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31216, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31693.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32197.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32708.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33204.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33662.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34064.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34407.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34707.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 34998.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35320.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35707.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36175.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36721.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 37979.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38656.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39344.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40022.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40659.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41217.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41656.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41941.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42052.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 41987.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41759.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41389.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40898.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40305.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39626.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38878.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38083.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37264.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36452.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35676.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34961.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34330.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33799.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33377.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33059.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32830.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33134.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33067.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33051, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33068.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33120.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33224.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33401.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33666, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 34015.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34432.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34893.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35374.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35856.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36324.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36756.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37122.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37380.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37489.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37418.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37155.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36714.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36122.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35422.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34667.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33915.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33229.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32669.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32276.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32067.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32031.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32139.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32362.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32675.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33061.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33505.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 33985.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34477.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34952.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35799, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36185, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36579.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37007.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37483.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38002.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38548.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39107.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39674.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40251.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40837.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41420.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 41975.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42466.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42859.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43123.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43239.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43198.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 42994.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42624.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42092.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41408.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40594.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39685.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38722.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37749.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36807.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35929.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35144, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34474.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33938.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33543.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33282.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33134.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 34000.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33987.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34048.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34163.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34331.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34566.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34889.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35309.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35824.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36414.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 37051, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37707.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38358.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38984.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39556.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 40040.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40390.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40563.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40526.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40267.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39797.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39150.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38374.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37528, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36679.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35897, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35239.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34745.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34427.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34274.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34263.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34372.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34587.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34898.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35294.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35753.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36246, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36739.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37213.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37665.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38113.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38579.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39082.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39620.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40179.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40737.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41281.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41815.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42350.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42895.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43443.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 43973.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44452.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44844.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45123.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45265.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45253.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45067.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44691.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44113.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43340.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42399.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41335.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40208.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39075.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 37988.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 36988.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36106.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35366.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34786.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34372, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34117.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 34000.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35378.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35378.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35480.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35666.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35931.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36284, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36737.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37297.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37955.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38689.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39470.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40267.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 41054.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41804.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42486.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 43061.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43484.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43709, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43702.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43451.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42965.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42279.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41445, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40530.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39608.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38753.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 38022.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37453.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37053.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36812.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36708.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36727.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36861.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37107.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37457.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37890.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38374.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38873.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39363.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39841.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40320.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40822.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41358.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41925.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42505, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43077.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43632.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44175.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44721.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45279.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45846.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46401.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 46911.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47342.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47662.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47846.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47866.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47697.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47311.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46694, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45848.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44803.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43614.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42348.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41075, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39854.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38733.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37746.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36919.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36267.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35799.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35509.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35378.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37234.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37216, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37331.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37563.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37905.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38358.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38925.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39602.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40376.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41221.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42108.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 43004.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43882.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44712.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45462.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 46093.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46559.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46818.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46835.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46595.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 46108, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45405.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44541.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43588, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42621.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41716, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40930.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40299.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39830.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39513.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39331.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39273.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39335.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39517.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39814.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40206.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40661.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41143.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41627, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42105.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42588.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43092.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43629, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44197, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44783.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45373.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 45959.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46546.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47145.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47761.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48389.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49005.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49577.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50069.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50447.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50733.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50579.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50188.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49543.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48650.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47540.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46271.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44913.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43542.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42222.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41006.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39930.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39021, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38293.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37756.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37407.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37234.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39534.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39484.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39595.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39853.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40249.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40778.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41431.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42195.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 43050.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43966.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44913.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45860.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46777.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47636.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48405.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 49048, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49522, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49787.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49813.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49583.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 49105.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48409.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47547.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46587.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45605.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44673.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43848, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43163, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42629.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42240, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41983.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41851.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41842.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41955.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42186.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42517.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42919, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43358.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43810.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44265.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44729.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45215.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45734.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46291.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46880, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47493.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48126.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48781.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49461.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50164.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50878.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51576.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52225, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52786.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53222.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53500.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53584.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53444.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53053.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52399.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51491, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50361.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49066.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47676.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46267.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44903.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43639.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42512.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41547.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40762.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40164.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39757, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39534.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42226.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42149.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42248.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42513.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42937.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43506, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44204.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 45011, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45898.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46836.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47792.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48736.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49639.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50475, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51213.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51822.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52265, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52507.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52522.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52296.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51834.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51163.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50330, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49395.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48428.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47494.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46647.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45919.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45326, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44867.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44536.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44330.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44246.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44283.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44435.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44687.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45014.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45388.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45788.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46202.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46634.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47093.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47592.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48138.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49378.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50067.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50799.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51570.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52368.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53173.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 53954.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54676.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55299.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55785.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56098.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56205.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56078.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55696.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55054.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54165, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53061.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51798.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50441.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49060.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47718.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46465.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45339.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44364.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43558.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42930.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42486, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42226.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45118.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45203.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45459.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45877.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46441.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47132.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47923.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48785.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49686.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50594.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51480.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52318.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 53082.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53745.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54281.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54659.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54853.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54840.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54611.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54169.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53538.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52756.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51875.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50952.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 50044.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49198.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48447.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47809.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47291, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46892.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46613.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46453.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46408.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46474.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46636.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46876, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47171.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47506.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47871.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48267, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48701.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49186, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49730.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50341.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51020.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51764.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52567.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53418, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54295.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55174.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56020.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56795.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57460, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 57976.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58311, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58433.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58321.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 57962.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57355.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56519.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55488.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54311.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53048.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51760.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50503, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49323.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48255.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47323, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46543, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45926.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45480.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48313.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48220.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48289.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48517.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48895, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49407, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 50033, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50747.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51521, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52324.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53127.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53904.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54630.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55282.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55836.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56271.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56564.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56694.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56645.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56410.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55995.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55416.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54705.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53901.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53051.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52199, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51385, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50639.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49982.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49426.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48977.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48636.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48406, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48283.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48262.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48486.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48701.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 48970.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49285.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49648, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50064.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50543.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51094.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51723.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52432.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53217.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54067.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 54965.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55888, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56803.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57677.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58472.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59672.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60013.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60146.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60056, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59735.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59192.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58445.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57528.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56485.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55366.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54225.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53108, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52055.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51097, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50255.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49547.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 48982.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48568.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48313.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51300.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51211.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51258.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51439.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51745.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52163, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52675.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53259.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53891.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54546.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55198.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55824.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56403.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56914.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57339.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57660, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57859, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57921.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57838, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57603.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57222.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56709, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56084.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55379.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54626.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53860.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53111.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52408.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51768.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51208.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50735.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50357.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50074.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49889.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49796.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49791.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49866.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50012.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50223.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50495.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50831.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51233.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51709.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52265.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52904.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53624.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54420.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55278.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56178.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57095.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 57997.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58852.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59623.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60277.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60784.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61117.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61259.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61200.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60939, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60485.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59859.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59092.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58220.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57286.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56330.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55392.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54504.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53693.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 52977.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52371.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51885.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51526.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51300.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53915.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53826.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53841.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53959.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54171.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54468.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54836.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55259.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55717.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56193.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56666, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57117.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57530.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57889, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58177.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58382, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58490.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58492.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58382.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58157.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57821.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57382.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56858.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56266.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55632, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54977.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54328, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53703.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53121.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52596.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52139.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51757.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51455.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51235.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51098.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51042.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51064.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51160.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51328.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51568.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51880.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52267, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52731.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53276.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53900, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54598.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55363.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56178.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57026.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57880.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58715, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59499.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60204.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60802, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61268, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61582.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61734.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61715.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61530.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61188.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60708.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60115.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59438.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58709.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57961, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57222.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56518.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55871.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55296.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54805.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54408.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54110.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53915.6, 145 + 500);
}
